package user_private_key

import (
	"chain_bridge_service/internal/pkg/core"
	"chain_bridge_service/internal/repository/mongodb"
	"chain_bridge_service/internal/repository/mongodb/user_private_key"
)

var _ Service = (*service)(nil)

type Service interface {
	i()

	Create(ctx core.Context, keyData *UserPrivateKeyData) (err error)
	List(ctx core.Context, userId string, pageIndex uint, pageSize uint) (productList []user_private_key.UserPrivateKey, err error)
	Update(ctx core.Context, keyData *UserPrivateKeyData) error
	Count(ctx core.Context, userId string) (int64, error)
	Delete(ctx core.Context, id string) error
}

type service struct {
	db mongodb.Repo
}

func New(db mongodb.Repo) Service {
	return &service{
		db: db,
	}
}

func (s *service) i() {}
